iT邦幫忙

2022 iThome 鐵人賽

DAY 11
1
Software Development

離開C#新手村的最後試煉系列 第 11

# 試煉11 - 1秒都不能少

  • 分享至 

  • xImage
  •  

開始試煉

搜尋條件中,設定搜尋時間是一定會遇到的
先來看看下面這些設定
情境A 開始:1/1 結束:1/1 這樣表示1/1一整天
情境B 開始:1/2 結束:1/3 這樣表示1/2 + 1/3 兩天整天
這樣的理解 大家都同意吧
可是那是UI上看到的 轉換成 程式面 不特別處理的話 大概就變成這樣
情境A 開始: 2022/01/01 00:00:00 結束: 2022/01/01 00:00:00
情境B 開始: 2022/01/02 00:00:00 結束: 2022/01/03 00:00:00
這樣情境A 就等於沒有時間
而情境B 是只有1/2一天 對吧
所以我們要教育使用者 你要查1/1號的資料 請放1/1-1/2 這樣才是查1/1一天的資料喔

然後 就被主管釘在牆壁上了
回到座位上 那要不然這樣改好了
要支援結束時間還不簡單 就把結束時間加上23:59:59 這樣就好啦
示意程式
createDate >= 2022/01/01 00:00:00 && createDate <= 2022/01/01 23:59:59
是不是就搞定了呢
這樣加上23:59:59 會有一個問題
就是23:59:59 到 隔天的00:00:00的這一秒的資料查不出來

所以應該結束時間應該是加一天然後用小於就好
示意程式
createDate >= 2022/01/01 00:00:00 && createDate < 2022/01/02 00:00:00

這樣才是1/1一整天的資料

結束試煉

這個試煉 我的經驗中 接手的專案 三不五時就會看到少一秒的寫法
所以才想特別寫出來


上一篇
# 試煉10 - 還在用字串,組網址 組路徑嗎
下一篇
# 試煉12 - 開始練習組合技2 委派 + 泛型
系列文
離開C#新手村的最後試煉30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言